/*
    正则表达式： 一种字符串匹配规则，对字串进行提取等操作

    正则库：将上述匹配规则进行接口封装

    作用：只需要设置一批正则表达式规则，就可以将一份HTTP报文进行提取数据解析

    C++11:
        regex 
            regex_match(原始字符串, 子串存放数组, e);

*/
// #include <iostream>
// #include <string>
// #include <regex>

// int main()
// {
//     std::string str = "/123";
//     std::regex e("(\\d+)");
//     std::smatch matches; //容器

//     bool ret = std::regex_match(str, matches, e);
//     if(ret == false)
//     {
//         return -1;
//     }
//     for(auto &s : matches)
//     {
//         std::cout << s << std::endl;
//     }
//     return 0;
// }

#include <iostream>
#include <string>
#include <regex>

int main()
{
    std::string str = "/numbers/1234";
    //匹配以 /numbers/起始，后边跟了一个或多个数字字符的字符串，并且在匹配的过程中提取这个匹配到的数字字符串
    std::regex e("/numbers/(\\d+)");
    std::smatch matches;

    bool ret = std::regex_match(str, matches, e);
    if (ret == false) {
        return -1;
    }
    for (auto &s : matches) {
        std::cout << s << std::endl;
    }
    return 0;
}